﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

// Reviewed
#pragma once

#include "GcmpGUiBaseInterface.h"
#include "IEventArgs.h"

namespace gcmp
{

 /// \brief RadioButtonGroup事件类型
enum class RadioButtonGroupEventType : int32_t
{
    RadioButtonGroupStateChanged  ///< RadioButtonGroup中被选中的RadioButton改变时会触发

};

/// \brief RadioButtonGroup事件参数
class GCMP_GUI_BASE_INTERFACE_EXPORT IRadioButtonGroupEventArgs : public IEventArgs
{
public:
    /// \brief 得到RadioButtonGroup事件类型
    virtual RadioButtonGroupEventType GetType() const = 0;

    /// \brief 得到被选中的RadioButton的Id
    virtual std::wstring GetSelectedId() const = 0;

    /// \brief 判断RadioButtonGroup当前选中状态改变类型
    /// \return 返回true表示RadioButtonGroup当前选中状态改变由用户手动修改；返回false表示由程序自动修改
    virtual bool IsRadioButtonGroupStateChangeByUser() const = 0;
};

}   // end namespace gcmp
